package com.glodon.paas.document.biz;

import java.util.List;

import com.glodon.paas.document.dao.domain.FileInfoEntity;
import com.glodon.paas.document.dao.domain.PublicTokenEntity;
import com.glodon.paas.document.dao.domain.ShareEntity;
import com.glodon.paas.dto.DataTansitionObject;

public interface ShareBiz {

    // boolean isSharedForUser(String userId, String fileId);

    boolean isSharedFile(String fileId);

    boolean isPublishedFile(String fileId);

    PublicTokenEntity getPublishInfoByToken(String token);

    PublicTokenEntity getPublishInfoByFile(String fileId);

    List<ShareEntity> getSharesByMe(String userId, String fileId, Integer shareType);

    List<ShareEntity> getSharesForMe(String userId, String fileId);

    void remove(String userId, String fileId);

    void remove(String fileId, Integer shareType);

    void removeToken(String fileId);

    // List<ShareEntity> getSharesByMe(String userId, String fileId);

    ShareEntity getShareForMe(String userId, String fileId);

    ShareEntity share(String userId, String fileId, String sharerId, String privilege);

    String publish(String userId, FileInfoEntity file);

    public List<DataTansitionObject> getNavigation(String userId, String fileId);

    long getShareCount(String fileId);

}
